package br.com.paradigmas.persistencia.om;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

import br.com.paradigmas.utils.BDConstantes;

/**
 * @author Djalma
 */
public class Musica implements Serializable
{
	/*-*-*-* Constante de Serializacao *-*-*-*/
	private static final long serialVersionUID = 1L;

	/*-*-*-* Variaveis e Objetos Privados *-*-*-*/
	private long pkMusica;
	private String nome;
	private int duracao;
	private boolean original;
	private Integer status = BDConstantes.STATUS_ATIVO;

	private List<AlbumMusica> albumMusicas;
	private Artista artista;
	private Album album;

	/*-*-*-* Construtores *-*-*-*/
	public Musica() { }

	/*-*-*-* Metodos Gets e Sets *-*-*-*/
	public long getPkMusica() 					{ return pkMusica; }
	public void setPkMusica(long pkMusica) 		{ this.pkMusica = pkMusica; }

	public String getNome() 					{ return nome; }
	public void setNome(String nome) 			{ this.nome = nome; }

	public int getDuracao() 					{ return duracao; }
	public void setDuracao(int duracao) 		{ this.duracao = duracao; }

	public boolean getOriginal() 				{ return original; }
	public void setOriginal(boolean original) 	{ this.original = original; }

	public Integer getStatus() 					{ return status; }
	public void setStatus(Integer status) 		{ this.status = status; }

	public List<AlbumMusica> getAlbumMusicas() 					{ if(albumMusicas==null) { albumMusicas = new ArrayList<AlbumMusica>(); } return albumMusicas; }
	public void setAlbumMusicas(List<AlbumMusica> albumMusicas) { this.albumMusicas = albumMusicas; }

	public Artista getArtista() 				{ return artista; }
	public void setArtista(Artista artista) 	{ this.artista = artista; }

	public Album getAlbum() 					{ return album; }
	public void setAlbum(Album album) 			{ this.album = album; }
}